package com.xxx.mch.domain.po;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import java.util.Date;

@Table (name = "determination_score")
@ApiModel("定性评价")
public class DeterminationScore
{
    @Id
    @GeneratedValue (strategy = GenerationType.IDENTITY)
    private Integer id;

    /**
     * 用户ID，被打分人ID
     */
    @ApiModelProperty("用户ID，被打分人ID")
    @NotNull(message = "被打分人ID不能为空")
    private String uid;

    /**
     * 评价项ID
     */
    @ApiModelProperty("评价内容ID")
    @Column (name = "evaluate_id")
    @NotNull(message = "评价内容ID不能为空")
    private Integer evaluateId;

    /**
     * 打分人ID
     */
    @ApiModelProperty("打分人ID")
    @Column (name = "evaluator_id")
    @NotNull(message = "打分人ID不能为空")
    private String evaluatorId;

    /**
     * 评价项名称
     */
    @ApiModelProperty("评价内容")
    @Column (name = "evaluate_name")
    @NotNull(message = "评价内容不能为空")
    private String evaluateName;

    /**
     * 细则ID
     */
    @ApiModelProperty("细则ID")
    @Column (name = "rule_id")
    @NotNull(message = "细则ID不能为空")
    private Integer ruleId;

    /**
     * 细则名称
     */
    @ApiModelProperty("细则内容")
    @Column (name = "rule_name")
    @NotNull(message = "细则内容不能为空")
    private String ruleName;

    /**
     * 分数
     */
    @ApiModelProperty("分数")
    @NotNull(message = "分数不能为空")
    private BigDecimal score;

    @Column (name = "create_time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Column (name = "update_time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @ApiModelProperty("打分月份: yyyy-MM")
    private String month;

    @ApiModelProperty("打分人角色")
    @NotNull(message = "打分人角色不能为空")
    @Column (name = "role")
    private Integer role;

    public void setMonth(String month)
    {
        this.month = month;
    }

    public String getMonth()
    {
        return month;
    }

    public void setRole(Integer role)
    {
        this.role = role;
    }

    public Integer getRole()
    {
        return role;
    }

    public void setEvaluatorId(String evaluatorId)
    {
        this.evaluatorId = evaluatorId;
    }

    public String getEvaluatorId()
    {
        return evaluatorId;
    }

    /**
     * @return id
     */
    public Integer getId()
    {
        return id;
    }


    /**
     * @param id
     */
    public void setId(Integer id)
    {
        this.id = id;
    }


    /**
     * 获取用户ID
     *
     * @return uid - 用户ID
     */
    public String getUid()
    {
        return uid;
    }


    /**
     * 设置用户ID
     *
     * @param uid 用户ID
     */
    public void setUid(String uid)
    {
        this.uid = uid;
    }


    /**
     * 获取评价项ID
     *
     * @return evaluate_id - 评价项ID
     */
    public Integer getEvaluateId()
    {
        return evaluateId;
    }


    /**
     * 设置评价项ID
     *
     * @param evaluateId 评价项ID
     */
    public void setEvaluateId(Integer evaluateId)
    {
        this.evaluateId = evaluateId;
    }


    /**
     * 获取评价项名称
     *
     * @return evaluate_name - 评价项名称
     */
    public String getEvaluateName()
    {
        return evaluateName;
    }


    /**
     * 设置评价项名称
     *
     * @param evaluateName 评价项名称
     */
    public void setEvaluateName(String evaluateName)
    {
        this.evaluateName = evaluateName;
    }


    /**
     * 获取细则ID
     *
     * @return rule_id - 细则ID
     */
    public Integer getRuleId()
    {
        return ruleId;
    }


    /**
     * 设置细则ID
     *
     * @param ruleId 细则ID
     */
    public void setRuleId(Integer ruleId)
    {
        this.ruleId = ruleId;
    }


    /**
     * 获取细则名称
     *
     * @return rule_name - 细则名称
     */
    public String getRuleName()
    {
        return ruleName;
    }


    /**
     * 设置细则名称
     *
     * @param ruleName 细则名称
     */
    public void setRuleName(String ruleName)
    {
        this.ruleName = ruleName;
    }


    /**
     * 获取分数
     *
     * @return score - 分数
     */
    public BigDecimal getScore()
    {
        return score;
    }


    /**
     * 设置分数
     *
     * @param score 分数
     */
    public void setScore(BigDecimal score)
    {
        this.score = score;
    }


    /**
     * @return create_time
     */
    public Date getCreateTime()
    {
        return createTime;
    }


    /**
     * @param createTime
     */
    public void setCreateTime(Date createTime)
    {
        this.createTime = createTime;
    }


    /**
     * @return update_time
     */
    public Date getUpdateTime()
    {
        return updateTime;
    }


    /**
     * @param updateTime
     */
    public void setUpdateTime(Date updateTime)
    {
        this.updateTime = updateTime;
    }
}